perm filename RHYFIX.F4[PAG,LCS] blob
sn#637512 filedate 1982-01-13 generic text, type T, neo UTF8
SUBROUTINE RHYFIX
COMMON/XRN/RN(1) /PTR/KWDS(1) /LLL/LLL
ST=-1
RP=0
DO 1 K=1,LLL-1
R=CODEN(KWDS,K,RN,J)
IF(R.GT.2.)GO TO 1
X=7
IF(R.EQ.2.)X=5
C 7 FOR NOTE, 5 FOR REST.
IF(RN(J).LT.X)GO TO 1
C JUMP IF WD CNT IS TOO SMALL
M=X+2
C GET THE RIGHT PARAM. NUM.
RX=RN(J+M)
IF(RX.EQ.0)GO TO 1
C JUMP IF NO RHYTHM GIVEN
RRP=RN(J+3)
C RRP=POS. OF THIS NOTE
IF(ZERO(RRP,RP).NE.0.OR.ST.NE.RN(J+2))GO TO 5
C JUMP IF NOT IN SAME POS. AS PREVIOUS NOTE OR REST.
2 GO TO 3
4 RN(JJ)=0
5 RH=RX
JJ=J+M
C SAVE RHYTHM (RH) AND POINTER TO THIS TIME VALUE.
ST=RN(J+2)
RP=RRP
C SAVE STAFF NUM. AND POSITION
GO TO 1
3 IF(RX.LE.RH)GO TO 4
C FIND LOWEST TIME VALUE AND ZERO THE LARGER ONE
RN(J+M)=0
GO TO 1
1 CONTINUE
END